package org.jeecg.modules.coursearrangeatom.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: cou_course_arrange_atom
 * @author: baochangrong
 * @Date:   2022-02-23
 * @Version: V1.0
 */
@Data
@TableName("cou_course_arrange_atom")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cou_course_arrange_atom对象", description="cou_course_arrange_atom")
public class CouCourseArrangeAtom implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**课表id*/
	@Excel(name = "课表id", width = 15)
    @ApiModelProperty(value = "课表id")
    private String courseArrangeId;
	/**目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象*/
	@Excel(name = "目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象", width = 15)
    @ApiModelProperty(value = "目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象")
    private String targetObjId;
	/**关联对象类型英文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）*/
	@Excel(name = "关联对象类型英文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）", width = 15)
    @ApiModelProperty(value = "关联对象类型英文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）")
    private String relObjNameEn;
	/**关联对象类型中文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）*/
	@Excel(name = "关联对象类型中文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）", width = 15)
    @ApiModelProperty(value = "关联对象类型中文名称（班级cou_class、教室fac_classroom、老师tea_teacher、科目cou_subject、学生stu_student）")
    private String relObjNameCn;
	/**关联对象类型(1:班级;2:教室,3.老师;4.科目5学生)*/
	@Excel(name = "关联对象类型(1:班级;2:教室,3.老师;4.科目5学生)", width = 15)
    @ApiModelProperty(value = "关联对象类型(1:班级;2:教室,3.老师;4.科目5学生)")
    private Integer relObjTtype;
	/**关联对象id*/
	@Excel(name = "关联对象id", width = 15)
    @ApiModelProperty(value = "关联对象id")
    private String relObjId;
	/**星期数*/
	@Excel(name = "星期数", width = 15)
    @ApiModelProperty(value = "星期数")
    private Integer courArraAtomWeekday;
	/**节次*/
	@Excel(name = "节次", width = 15)
    @ApiModelProperty(value = "节次")
    private Integer courArraAtomSection;
	/**节次名称*/
	@Excel(name = "节次名称", width = 15)
    @ApiModelProperty(value = "节次名称")
    private String courArraAtomSectionname;
	/**单双周标识(1单周（默认），2双周 3三周 4四周)*/
	@Excel(name = "单双周标识(1单周（默认），2双周 3三周 4四周)", width = 15)
    @ApiModelProperty(value = "单双周标识(1单周（默认），2双周 3三周 4四周)")
    @Dict(dicCode = "cour_arra_atom_iz_single")
    private Integer courArraAtomIzSingle;
	/**开始时间*/
	@Excel(name = "开始时间", width = 15)
    @ApiModelProperty(value = "开始时间")
    private String courArraAtomStartTime;
	/**结束时间*/
	@Excel(name = "结束时间", width = 15)
    @ApiModelProperty(value = "结束时间")
    private String courArraAtomEndTime;
	/**是否启用（0否停用，1是启用）*/
	@Excel(name = "是否启用（0否停用，1是启用）", width = 15)
    @ApiModelProperty(value = "是否启用（0否停用，1是启用）")
    private Integer izOpen=1;
	/**是否删除（0否 1是已删除）*/
	@Excel(name = "是否删除（0否 1是已删除）", width = 15)
    @ApiModelProperty(value = "是否删除（0否 1是已删除）")
    private Integer izDelete=0;
	/**学校编码*/
	@Excel(name = "学校编码", width = 15)
    @ApiModelProperty(value = "学校编码")
    private String tenantId;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createUser;
	/**编辑时间*/
	@Excel(name = "编辑时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "编辑时间")
    private Date editTime;
	/**编辑人*/
	@Excel(name = "编辑人", width = 15)
    @ApiModelProperty(value = "编辑人")
    private String editUser;




    @TableField(exist = false)
	private String relObjName;


    @TableField(exist = false)
    private String relObjColor; //冲突颜色
    @TableField(exist = false)
    private Integer relObjCount; //该节课冲突数


    /** 教师所带的科目及班级 */
    @TableField(exist = false)
    private String teacherCourseClassName; //班级
    @TableField(exist = false)
    private String teacherCourseSubjectName; //科目
}
